The present invention relates to a system and a method for establishing telephone calls and, more specifically, to an improved system and method for dialing during call setup.
In making a call to an analog Public Switch Telephone Network (PSTN), a caller enters a sequence of digits of a telephone number after receiving a dial tone from the central office. Typically, the caller depresses keys on the telephone to generate Dual Tone Multi-Frequency (DTMF) tones, each of which represents one of the digits of the telephone number. The DTMF tones are transmitted to a local central office, one at a time, until the local central office has received a sufficient number of digits to put the call through to the called party. For example, once the local central office receives the seven digits of a local call over a first local loop, it connects the caller to the called party via a second local loop. On the other hand, if the called party resides outside of the area of the local central office, the DTMF tones generated by the caller will indicate to the local central office that the called party is connected to a remote central office. Signaling in conventional analog telephony is performed on the same channel that carries voice information.
In an Integrated Services Digital Network (ISDN), a Basic-Rate Interface (BRI) provides a caller with two B-channels which are utilized to carry digitized voice and data, while a single D-channel is utilized for signaling and low speed data transmission. A Primary-Rate Interface (PRI) provides a higher bandwidth service for business users. The PRI consists of either twenty-three or thirty B-channels for user data and a single D-channel for signaling. During call setup, the digits which represent the telephone number of the called party are transmitted over the D-channel to be processed by a local central office. As in an analog telephone network, the digits are transmitted to the central office one at a time. In contrast to signaling on the analog telephone network, each digit is assembled into a data packet to be transmitted over the D-channel which is reserved for signaling.
The dialing process over wireless communication networks operates differently from the dialing process in conventional land-based digital and analog telephone networks. A base station is maintained by a cellular service provider to link cellular telephones with a land-based telephone network. When a caller makes a call from a cellular telephone, the caller locally enters the digits representing the telephone number into a cellular telephone. When the caller has entered the digits of the entire telephone number, the caller depresses a send key on the cellular telephone to transmit the digits of the telephone number to the base station. If the cellular telephone service is a digital service, the digits might be transmitted within a single data packet to the base station.
In recent years, techniques for performing voice communication over data networks, such as Local Area Networks (LAN), have developed into a viable option to conventional analog and digital telephony. Telephony-over-LAN (ToL) employs a dialing process which is similar to the process utilized by wireless communication networks. When a caller wants to make a call, the caller locally enters the digits of the called telephone into a ToL terminal. When the caller has completed entering the telephone number, the caller clicks on a dial icon on the ToL terminal screen to have the telephone number transmitted to a gatekeeper or some other device for call processing. The digits of the telephone number are assembled into a single data packet to be processed by the gatekeeper. Requiring the caller to click on the dial icon for each call can be inconvenient for the caller. As an alternative, each digit can be assembled into a separate data packet, with each data packet being transmitted separately to the gatekeeper. However, individually transmitting each digit is an inefficient use of limited network bandwidth. Furthermore, separately transmitting each digit increases processor requirements during call setup in the gatekeeper.
What is needed is a system and method which balance the need for a convenient dialing procedure with the need to conserve network bandwidth and/or call processing resources.
A method and a system for communicating dialed digits for a telephone number during setup of a call include analyzing at least one digit of a telephone number received from a communication device within a discrete unit of data to determine a first minimum quantity of additional digits required to determine a destination of the call. If additional digits are required, the communication device is requested to transmit the minimum quantity of digits within a subsequent discrete data unit and the call is established upon receipt of the additional digits, if they are sufficient to establish the call. The steps of analyzing digits received from the communication device within subsequent discrete data units and requesting additional digits within subsequent discrete data units are repeated until a sufficient quantity of digits has been received to complete the call.
In a preferred embodiment, the method and system are practiced within a packet-based data network, such as a LAN. The communication device includes a dialer which is responsive to user inputs to assemble a first data packet which includes at least a first digit of a telephone number. For example, if the caller dials the entire sequence of digits which comprises the telephone number, the dialer might integrate only the first digit in the sequence into the first data packet. After the first data packet has been transmitted, the dialer responds to protocol commands received from a call processor by assembling subsequent data packets which include additional digits of the telephone number and by transmitting the subsequent data packets to the call processor. Each subsequent packet includes a minimum quantity of additional telephone number digits which is specified by a protocol command.
The call processor includes dialing plan software which initiates responses to receipt of each first data packet and each subsequent data packet by determining a minimum additional quantity of digits required to establish a telephone call. The call processor transmits protocol commands to the communication device if additional digits are required. The protocol commands instruct the dialer to assemble the minimum quantity of additional digits into the subsequent packets for transmission to the call processor. A call setup subsystem establishes the call upon receiving a sequence of digits that is sufficiently complete to establish the call.
In the preferred embodiment, the dialing plan software references a dialing plan to determine if any additional digits are necessary. For example, if the first data packet includes a single digit which is xe2x80x9c0,xe2x80x9d and according to the dialing plan the digit xe2x80x9c0xe2x80x9d provides access to an internal operator, then no additional digits are required to complete the call. In this case, the call setup subsystem establishes the call upon receipt of the first data packet.
By referencing the dialing plan, the dialing plan software is able to determine whether digits included in subsequent data packets are indicative of a long distance or a local external call request, a call request to a remote device via a private line such as a leased line, or an internal call request. As an alternative to storing the dialing plan at the call processor, the dialing plan can be downloaded in its entirety or it can be partially downloaded from the call processor.
If the dialing plan software concludes that a call request has an indeterminate digit sequence length, an alternate procedure is employed, because the dialing plan software will be unable to determine when it has the entire digit sequence for the telephone number. An example of this situation is where the dialing plan includes international telephone numbers of variable lengths. In this case, the call processor enables a timer in the communication device which is reset upon entry of each digit of the telephone number within a predetermined time interval after the timer is enabled or is reset. If the predetermined time interval elapses either after the timer has been enabled or the user has entered a digit, the dialer assumes that the user has finished dialing and, if any digits have been entered since the timer was enabled, the dialer assembles a data packet of the dialed digits into a single data packet for transmission to the call processor. If the user did not completely dial the entire telephone number prior to expiration of the time interval, the dialer is responsive to user inputs to enable DTMF emulation to allow the caller to finish dialing.